﻿using System;
using System.DirectoryServices;
using Librerias;
using Resources;

namespace Aplicacion.admin.usuarios
{
    ///<summary>
    ///</summary>
    public partial class ResetPassword : System.Web.UI.Page
    {
        protected void BtnSubmitFormClick(object sender, EventArgs e)
        {
            //Literal ltlErrores = (Literal)this.Master.FindControl("ltlErrores");
            if (!Page.IsValid) return;


            var usuarios = new ObjetoAd(@"LDAP://10.1.9.35/OU=Users_TDF,DC=domtdf,DC=local");

            //var deSearch = new DirectorySearcher(usuario.DirectoryEntry.Parent)
            var deSearch = new DirectorySearcher(usuarios.DirectoryEntry)
            {
                Filter =
                    String.Format("(&(objectClass=user)(SAMAccountName={0}))", txtResetUsuario.Text),
                SearchScope = SearchScope.Subtree
            };
            var results = deSearch.FindOne();

            try
            {
                

                if (results != null)
                {
                    new ObjetoAd(results.Path) { 
                        UserPassword = txtResetPassword.Text,
                        UserFlags = ObjetoAd.NormalAccount + ObjetoAd.DontExpirePassword
                    };
                    Notificaciones.Flash(NC_ADmin.PasswordCambiado, Notificaciones.CssCorrecto);
                    Response.Redirect("~/admin");
                }
                else
                    Notificaciones.Error("No existe el usuario");
            }
            catch (System.Exception ex)
            {
                if (ex.InnerException != null)
                    Notificaciones.Error(ex.InnerException.Message.ToString());
                else
                    throw ex;
            }



        }
    }
}